package org.example.service;

import org.springframework.amqp.core.AmqpTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class MessageServiceRabbitmqDirectImpl implements MessageService {

    @Autowired
    private AmqpTemplate amqpTemplate;

    @Override
    public void sendMessage(String id) {
        System.out.println("待发送短信的订单已纳入处理队列（rabbitmq direct），id："+id);
//        第一参数：要求传入一个交换机的名称
//        第二个参数：是routingKey的名称，即绑定消息队列对象与交换机关系的名称
//        第三个参数：要传的消息
        amqpTemplate.convertAndSend("directExchange","direct",id);

//        采用默认的交换机与默认的绑定关系
//        amqpTemplate.convertAndSend(id);
    }


    //    一般消息都是自动执行的，所以不需要手动获取消息，直接使用listener
    @Override
    public String doMessage() {
        return null;
    }
}